/**
 * Copyright 2023-present DreamNum Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import { ISidebarService, useDependency } from '@univerjs/ui';
import { TEST_EDITOR_CONTAINER_COMPONENT } from './test-editor/component-name';

const menu = [
    {
        label: 'Open sidebar',
        value: 'open',
    },
    {
        label: 'Close sidebar',
        value: 'close',
    },
];

export function useSidebar() {
    const sidebarService = useDependency(ISidebarService);

    const onSelect = (value: string) => {
        if (value === 'open') {
            sidebarService.open({
                header: { title: 'Sidebar title' },
                children: { label: TEST_EDITOR_CONTAINER_COMPONENT },
                footer: { title: 'Sidebar Footer' },
                onClose: () => {
                },
            });
        } else if (value === 'close') {
            sidebarService.close();
        }
    };

    return {
        type: 'subItem' as const,
        children: '🧩 Sidebar',
        options: menu.map((item) => ({
            type: 'item' as const,
            children: item.label,
            onSelect: () => onSelect(item.value),
        })),
    };
}
